﻿using System;
using System.Collections.Generic;
using SARS.Entity;

namespace SARS.Biz.Facades
{
    public interface ICourseBO
    {
        /// <summary>
        /// </summary>
        /// <returns></returns>
        List<CourseEntity> RetriveAllCourse();

        /// <summary>
        /// </summary>
        /// <param name="programmeId"></param>
        /// <returns></returns>
        List<CourseEntity> RetriveCoursesByProgrammeID(int programmeId);

        /// <summary>
        /// </summary>
        /// <param name="courseId"></param>
        /// <returns></returns>
        CourseEntity RetrieveCourseById(Int32 courseId);

        /// <summary>
        /// </summary>
        /// <param name="studentCourseEntities"></param>
        /// <returns></returns>
        Int32 AssignStudentToCourses(List<StudentCourseEntity> studentCourseEntities);

        List<StudentCourseEntity> RetrieveStudentCourse();

        List<StudentCourseEntity> RetrieveStudentCourseByCourseId(int id);

        int DeleteCourseById(int id);

        int UpdateCourse(CourseEntity entity);

        int DeleteCourseStudentById(int courseId, int studentId);

        int UpdateStudentCourseById(StudentCourseEntity entity);

        List<CourseEntity> GetAllCourseByStudentIdAndProgramId(Int32 programId, Int32 studentId);
        List<CourseEntity> GetAllCourseByTutorIdAndProgramId(Int32 programId, Int32 tutorId);
    }
}